//
//  YYSpreadSheetView.swift
//  C018_test_spreadSheet
//
//  Created by yao_yu on 15/6/23.
//  Copyright © 2015年 yao_yu. All rights reserved.
//

import UIKit

class YYSpreadSheetView: UIView, UITableViewDataSource, UITableViewDelegate, UIScrollViewDelegate {
    
    let leftHeader = UITableView()
    let leftColumns = UITableView()
    let rightHeader = UITableView()
    let contentTable = UITableView()
    
    var fixedRows = 0 {
        didSet {
            setNeedsLayout()
        }
    }
    
    var fixedColumns = 0 {
        didSet {
            setNeedsLayout()
        }
    }
    
    var cells:[[String:AnyObject]]? {
        didSet {
            setNeedsLayout()
        }
    }

    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return 1
    }
    
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        switch tableView {
        case leftHeader, rightHeader:
            return fixedRows
        case leftColumns, contentTable:
            if let n = cells?.count where  n - fixedRows > 0 {
                return n - fixedRows
            }
            return 0
        default:
            return 0
        }
    }
    
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
        tableView.dequeueReusableCellWithIdentifier("cell")
        return UITableViewCell(style: UITableViewCellStyle.Default, reuseIdentifier: "cell")
    }
    
    
    
    override init(frame: CGRect) {
        super.init(frame: frame)
        
        addSubview(leftHeader)
        addSubview(leftColumns)
        addSubview(rightHeader)
        addSubview(contentTable)
        
    }

    required init(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
    }
    
    /*
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    override func drawRect(rect: CGRect) {
        // Drawing code
    }
    */

}

